package com.example.student.service;

import com.example.student.pojo.Result;

import com.example.student.pojo.PageBean;
import com.example.student.pojo.Stu;

import java.util.List;

/**
 * 学生信息管理
 * @author 34082
 */
public interface StuService {
    /**
     * 获取所有学生
     * @return ;
     */
    List<Stu> list();

    /**
     * 删除学生
     * @param id 学号
     */
    void delete(Integer id);

    /**
     * 更新学生信息
     * @param stu 学生信息
     */
    void update(Stu stu);

    /**
     * 添加学生信息
     * @param stu 学生信息
     * @return Result
     */
    Result add(Stu stu);

    /**
     * 根据id获取学生信息
     * @param id 学号
     * @return 学生信息
     */
    Stu getById(Integer id);

    /**
     * 分页获取学生信息
     * @param page 当前页
     * @param pageSize 每页大小
     * @return PageBean
     */
    PageBean page(Integer page, Integer pageSize);

    /**
     * 分页条件获取学生信息
     * @param page 当前页
     * @param pageSize 每页大小
     * @param studentId 学号
     * @param name 姓名
     * @param gender 性别
     * @return PageBean
     */
    PageBean pages(Integer page, Integer pageSize, Integer studentId, String name, Short gender);

    /**
     * 获取班级学生信息
     * @param page  当前页
     * @param pageSize  每页大小
     * @param deptId 班级id
     * @return PageBean
     */
    PageBean classPage(Integer page, Integer pageSize, Integer deptId);
}
